package gang.org.springframework.framework.metadata;

import java.lang.annotation.Annotation;

@FunctionalInterface
public interface GangMergedAnnotationSelector<A extends Annotation>
{
    GangMergedAnnotation<A> select(GangMergedAnnotation<A> existing, GangMergedAnnotation<A> condidate);

    public static <A extends  Annotation> GangMergedAnnotationSelector<A> firstDirectlyDeclared()
    {
        return null;
    }

    default boolean isBestCandidate(GangMergedAnnotation<A> annotation)
    {
        return false;
    }

}
